2020-2021 Sunseeker Telemetry and Lighting System
aes256_ex1_encryptDecrypt.c
Go to the documentation of this file.
1 /* --COPYRIGHT--,BSD
2  * Copyright (c) 2017, Texas Instruments Incorporated
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  *
9  * * Redistributions of source code must retain the above copyright
10  * notice, this list of conditions and the following disclaimer.
11  *
12  * * Redistributions in binary form must reproduce the above copyright
13  * notice, this list of conditions and the following disclaimer in the
14  * documentation and/or other materials provided with the distribution.
15  *
16  * * Neither the name of Texas Instruments Incorporated nor the names of
17  * its contributors may be used to endorse or promote products derived
18  * from this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  * --/COPYRIGHT--*/
32 //******************************************************************************
53 //******************************************************************************
54 #include "driverlib.h"
55 
56 uint8_t Data[16] =
57  {0x00, 0x11, 0x22, 0x33,
58  0x44, 0x55, 0x66, 0x77,
59  0x88, 0x99, 0xaa, 0xbb,
60  0xcc, 0xdd, 0xee, 0xff
61  };
62 
63 uint8_t CipherKey[32] =
64  {0x00, 0x01, 0x02, 0x03,
65  0x04, 0x05, 0x06, 0x07,
66  0x08, 0x09, 0x0a, 0x0b,
67  0x0c, 0x0d, 0x0e, 0x0f,
68  0x10, 0x11, 0x12, 0x13,
69  0x14, 0x15, 0x16, 0x17,
70  0x18, 0x19, 0x1a, 0x1b,
71  0x1c, 0x1d, 0x1e, 0x1f
72  };
73 
74 uint8_t DataAESencrypted[16]; // Encrypted data
75 uint8_t DataAESdecrypted[16]; // Decrypted data
76 int i = 0;
77 
78 void main(void){
79  // stop watchdog
80  WDT_A_hold(WDT_A_BASE);
81 
82  // Load a cipher key to module
83  AES256_setCipherKey(AES256_BASE, CipherKey, AES256_KEYLENGTH_256BIT);
84 
85  // Encrypt data with preloaded cipher key
86  AES256_encryptData(AES256_BASE, Data, DataAESencrypted);
87 
88  // Load a cipher key to module
89  AES256_setDecipherKey(AES256_BASE, CipherKey, AES256_KEYLENGTH_256BIT);
90 
91  // Decrypt data
92  AES256_decryptData(AES256_BASE, DataAESencrypted, DataAESdecrypted);
93 
94  // Array DataunAES should now contain the same data as array Data
95 
96  while(1){};
97 }
98 
uint8_t DataAESdecrypted[16]
uint8_t Data[16]
uint8_t DataAESencrypted[16]
void main(void)
uint8_t CipherKey[32]